In a connection oriented packet data network, such as for example a Multiprotocol Label Switching (MPLS) based network, a communication path must be set up between a first node and a second node of the network prior to initiating data transmission between the nodes. Such a communication path may be set up as unidirectional or bidirectional and may be allocated with certain predefined characteristics such as redundancy, bandwidth and latency, depending on the availability of network resources and the requirements made to the data connection. Conventionally, the step of setting up such a communication path may be carried out using various approaches and tools based on different management abstraction levels, such as for example by using                a network management system,        a centralized control plane such as software-defined-networking (SDN) or        by using a distributed signaling protocol such as Resource Reservation Protocol-Traffic Engineering (RSVP-TE).        
A request to set up the communication path may come with Quality of Service (QoS) requirements indicating for example minimum bandwidth and/or maximum latency requirements. In order to fulfill such communication path QoS requirements, suitable and sufficient network resources must be allocated along the communication path. For example, a communication path to be set up may require a bandwidth of 1 Gb/s. Consequently, every network element (NE) and every link along the respective network path used to establish the communication path must provide the resources required to satisfy this minimum bandwidth requirement.
Moreover, in packet data based communication networks the actual bandwidth utilization for a communication session can change frequently and dramatically. In other words, bandwidth demand can change significantly, even during a communication session, which dynamically impacts the availability and/or demand of network resources. In order to manage and efficiently utilize the network resources available in the communication network, the network resources must be allocated and reserved to guarantee QoS and to fulfill related traffic engineering conditions.
In this regard, a resource assignment problem can occur when a resource change request for increased bandwidth in a communication path cannot be satisfied because of lack of unused resources or where a request to set up a new communication path between a first and second node cannot be satisfied due to insufficiency of resources. This problem can also occur when there are sufficient resources available in the network, but these are too fragmented to be used. As shown in FIG. 1, each communication link 10 connects nodes Ni, of the communication network 12 with maximum bandwidth of 10 Gb/s. In this scenario, there are two existing communication paths 6, 8 connecting a first node 2 (No) with a second node 4 (N3) via an upper and a lower network path, respectively. For example, each of these two communication paths 6, 8 can be allocated with a bandwidth of 5 Gb/s. If a new request is made to set up an additional communication path for a bandwidth of 8 Gb/s, such a request cannot be satisfied without re-routing the communication path of at least one of the network paths. This applies even though the upper network path and lower network path each could accommodate additional communications of up to 5 Gb/s per route, for a combined additional bandwidth of 10 Gb/s.
Hence, in order to adapt to on-demand communication requests/changes, it may be necessary to re-arrange the current communication arrangement (path routing, resource allocation, etc.). For example, by re-routing the communication path 8 in the lower network path to follow the same route as the communication path 6 in the upper route, the resources available in the lower network path are completely freed up and allow setting up a new communication path requiring a bandwidth up to 10 Gb/s.
This is illustrated in FIG. 2, wherein the communication path 8 in the lower network path has been re-routed to follow the same route as the upper communication path 6. Consequently, the bandwidth of 10 Gb/s provided by the upper network path is fully utilized by the two communication paths 6, 8 each requiring a bandwidth of 5 Gb/s.
Further, as illustrated in FIG. 2, 80% of the freed up resources of the lower network path is used to accommodate a new communication path 14 requiring 8 Gb/s. It follows that by efficiently re-routing and so re-arranging the traffic taking place in the communication network, all three communication paths 6, 8, 14 can be served without any lack of service in terms of requested and allocated bandwidth.
However, transitioning the data transmission by re-routing ongoing communication sessions is generally undesirable, because the effects of re-routing communication paths may impact services and deteriorate respective QoS. This is particularly significant when the degree of deterioration violates the fulfillment of Service-Level Agreements (SLAs) which may be adhered to some of the affected communication sessions.
In this regard, a widely used technique to switch between redundancy paths in a communication network for improved availability is known as the Make-before-Break technique. Here, instead of taking down an existing communication path upon a communication path switchover, a new communication path is set up and traffic is routed in parallel to the old existing communication path. Only after establishing the data transmission via the new communication path, the older existing communication path is taken down and the switchover is thus completed without risking loss of connectivity during transition.
In its various forms, the Make-before-Break technique can be used for network resource defragmentation as well as to re-route communication paths and to re-allocate resources.
However, although Make-before-Break is conceptually considered hitless, it fails to provide a truly hitless scheme. To understand why this is the case, FIG. 3 illustrates an example of a packet optical network 12 connecting two network nodes 2, 4 representing major cities in a geographically large country such as the United States. Two separate communication paths 6, 8 e.g. connecting a city on the east coast with another city on the west coast can easily have a distance difference of more than thousand kilometers. Even for fiber optical transmission, this distance difference results in a latency difference between the two communication paths 6, 8 amounting to many milliseconds. When the Make-before-Break scheme is used to re-route traffic from the first communication path 6 to the second communication path 8, the following problem can occur: If the traffic is re-routed 16 from a communication path with a longer latency 8 to a communication path with a shorter latency 6, the first packet (and some subsequent packets) following the new path can arrive at the destination while the earlier traffic being conveyed via the original path has not yet fully arrived at the destination node. This is illustrated in FIG. 3 by showing how the sequence 18 of packets P1 . . . PY+1 arriving at the first node 2 and forwarded to the second node 4 is reordered by distortion due to re-routing 16 from a communication path 8 with a longer latency to a communication path 6 with a shorter latency. More specifically, the sequence 20 of packets arriving at and leaving the second node 4 has a different order P1 . . . PY, PY+1, PX−1, PX than the sequence 18 transmitted from the first node 1. Here, PY and the packets following PY transmitted from the first node 2 are re-routed to the communication path with a shorter latency 6, while the earlier packets P1 . . . PX are conveyed via the second communication path 8. Due to the latency difference, packets PY and PY+1 arrive earlier at the second node 4 than packets Px and Px+1, even though they were transmitted from the first node 2 at a later time.
Consequently, the receipt of data packets by a destination network element (NE) at the second node 4 is related to the following schemes and problems:                The destination NE may receive the data packets simply by switching from the communication path 8 with a longer latency to the communication path 6 with a shorter latency upon receipt of the first packet Py received via the shorter latency path 6. However, in this case, the traffic still on the fly via the communication path 8 with the longer latency will be lost. For a 10 Gbps path, this may result in many MBs of data being lost. Hence, although this approach is simple to implement, it can easily result in significant data losses.        The destination NE may be adapted to simultaneously receive data packets from both communication paths 6, 8 during the transition of re-routing. Thus, the destination NE may schedule the egress traffic based on arrival time on both ingress ports of the destination NE. However, not only will this approach add to the complexity of the receiver (required to receive and time stamp data packets arriving at two different ports) but it can also result in distorted packet order at the receiver end, negatively impacting QoS.        The destination NE may be adapted to simultaneously receive data packets from both communication paths 6, 8 during the transition of re-routing. Moreover, the destination NE may also attempt to maintain egress traffic to the original packet order at the source. For this purpose, the destination NE must be able to determine the original order of the traffic arriving from the two paths. This means that the NE must inspect additional fields of each data packet containing original time stamp or sequence information, in order to determine the original packet order. If the original data packet structure fails to provide such time stamp or sequence information, this information must be added as control fields into the packets at the first node 2 and then removed after receipt at the second node 4, so to maintain integrity in data structures. As a result, this approach requires significant complexity enhancement to arrive at the desired QoS. In particular, the respective re-ordering of packets at the second node 2 requires the destination NE to buffer in memory the received packets such as to be able to reverse the distorted re-ordering and obtain the original packet order. Consequently, the destination NE is subject to extra memory and related additional costs. Moreover, the process of re-ordering buffered packets at the receiver results in performance penalty, such as for example due to longer processing latency associated with packet buffering.        